package com.hddf.project.auth.json_util;

import java.util.Map;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;


public class JsonProvider {
	
	private static final SerializerFeature[] features = { 
		SerializerFeature.WriteMapNullValue, // 输出空置字段
        SerializerFeature.WriteNullListAsEmpty, // list字段如果为null，输出为[]，而不是null
        //SerializerFeature.WriteNullNumberAsZero, // 数值字段如果为null，输出为0，而不是null
       // SerializerFeature.WriteNullBooleanAsFalse, // Boolean字段如果为null，输出为false，而不是null
       // SerializerFeature.WriteNullStringAsEmpty ,// 字符类型字段如果为null，输出为""，而不是null
        SerializerFeature.WriteDateUseDateFormat  , // 日期按照格式输出 yyyy-MM-dd hh:mm:ss
       SerializerFeature.DisableCircularReferenceDetect  // 停止循环引用,直接显示引用的内容
	};
	
	public static String getCommonJson(Map m){
		if(null==m){
			return null;
		}
		return JSON.toJSONString(m);
	}
	
	public static String getJson(Map<String, Object> map){
		if(null == map){
			return null;
		}
		if(!"ok".equals(map.get("state").toString())){
			return JSON.toJSONString(map);
		}
		return JSON.toJSONString(map,features);
	}
	
	public static JSONObject getJsonObject(String str){
		if(null==str){
			return null;
		}
		return JSON.parseObject(str);
	}
	
	/*public static void main(String[] args){
		//String str = "{\"msg\":\"没有令牌,请登录\",\"state\":\"error\"}";
		String str = "{\"msg\":\"\",\"state\":\"ok\",\"user\":{\"id\":5,\"username\":\"great\"},\"webtoken\":\"2a973935-480f-42de-8420-8bf08fb01a87\"}";
		
		JSONObject s =  getJsonObject(str);
		System.out.println(((JSONObject)s.get("user")).getString("username"));
	}
*/
}
